package cn.tradewin.advisor.persist.services;

import java.util.Date;
import java.util.List;

import cn.tradewin.advisor.persist.model.Account;
import cn.tradewin.advisor.persist.model.Project;
import cn.tradewin.advisor.persist.model.ProjectResource;
import cn.tradewin.advisor.persist.model.ProjectTaskKey;
import cn.tradewin.advisor.persist.model.Task;

public interface ProjectService {
	
	Project findProject(Integer project_id);
	
	List<Project> listAllProjects(Byte dept, Date start, Date end);
	
	List<Task> getAllProjectTasks(Integer project_id);
	
	List<Account> getAllProjectResources(Integer project_id);
	
	int addProject(Project project);
	
	int addProjectTask(ProjectTaskKey taskKey);
	
	int addProjectTasks(List<ProjectTaskKey> tasks);
	
	int removeProjectTasks(List<ProjectTaskKey> tasks);
	
	int addProjectResource(ProjectResource resource);
	
	int addProjectAccounts(List<ProjectResource> resources);
	
	int removeProjectAccounts(List<ProjectResource> resources);
}
